#include "drv_key.h"

void drv_key_init(GPIO_TypeDef * GPIO,uint16_t GPIO_Pin)
{
	GPIO_InitTypeDef GPIO_InitStruct;
	RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOE, ENABLE);
	GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IN;
	GPIO_InitStruct.GPIO_Pin = GPIO_Pin;
	GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_UP;
	GPIO_Init(GPIO,&GPIO_InitStruct);
}
void drv_key_init2(GPIO_TypeDef * GPIO,uint16_t GPIO_Pin)
{
	GPIO_InitTypeDef GPIO_InitStruct;
	RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC, ENABLE);
	GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IN;
	GPIO_InitStruct.GPIO_Pin = GPIO_Pin;
	GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_UP;
	GPIO_Init(GPIO,&GPIO_InitStruct);
}


uint8_t get_key_value(GPIO_TypeDef * GPIO,uint16_t GPIO_Pin)
{
	uint8_t ret = 0;
	if(GPIO_ReadInputDataBit(GPIO, GPIO_Pin) == 0)
	{
			//延时
			drv_systick_delayms(30);
			if(GPIO_ReadInputDataBit(GPIO, GPIO_Pin) == 0)
			{
				ret = 1;
				while (GPIO_ReadInputDataBit(GPIO, GPIO_Pin) == 0);
			}
	}
	return ret;
}

